#ifndef ptrContainer_h_
#define ptrContainer_h_

#include <list>
#include "mouse.h"
#include "tower.h"
#include "unit.h"
#include "pathFinding.h"
#include "player.h"
#include "gui.h"
#include "missle.h"
#include "particle.h"
#include "states/statewrapper.h"
#include "SDL/SDL_mixer.h"
#include "SDL/SDL_opengl.h"

using std::list;

class statewrapper;

class ptrContainer
{
  public:
    mouse* m;
    list<tower*> * towerlist;
    list<unit*> * unitlist;
    list<missle*> * misslelist;
    list<particle*> * particlelist;
    Path* p;
    player* theplayer;
    gui* g;
    GLuint* bg;
    statewrapper* sw;

    unsigned int curTower;
    int* towerCost;
    GLuint* towerTex;
    std::string* towerNames;

    GLuint* particleTex;

    Mix_Chunk** sounds;
    Mix_Music* music;

    //CONSTRUCTOR
    ptrContainer();
};

#endif
